home *** CD-ROM | disk | FTP | other *** search
/ Collection of Internet / Collection of Internet.iso / infosrvr / dev / www_talk.930 / 001366_daemon _Sat Jun 19 00:08:56 1993.msg < prev    next >
Internet Message Format  |  1994-01-24  |  6KB

  1. Received: by  nxoc01.cern.ch  (NeXT-1.0 (From Sendmail 5.52)/NeXT-2.0)
  2.     id AA10908; Sat, 19 Jun 93 00:08:58 MET DST
  3. Errors-To: sanders@bsdi.com
  4. Return-Path: <sanders@bsdi.com>
  5. Received: from dxmint.cern.ch by  nxoc01.cern.ch  (NeXT-1.0 (From Sendmail 5.52)/NeXT-2.0)
  6.     id AA10903; Sat, 19 Jun 93 00:08:56 MET DST
  7. Errors-To: sanders@bsdi.com
  8. Received: from austin.BSDI.COM by dxmint.cern.ch (5.65/DEC-Ultrix/4.3)
  9.     id AA03318; Sat, 19 Jun 1993 00:31:09 +0200
  10. Received: from localhost by austin.BSDI.COM (5.67/1.37)
  11.     id AA03641; Fri, 18 Jun 93 17:31:06 -0500
  12. Message-Id: <9306182231.AA03641@austin.BSDI.COM>
  13. To: www-talk@nxoc01.cern.ch
  14. Subject: Plexus log file summaries
  15. Errors-To: sanders@bsdi.com
  16. Reply-To: sanders@bsdi.com
  17. Organization: Berkeley Software Design, Inc.
  18. Date: Fri, 18 Jun 1993 17:31:05 -0500
  19. From: Tony Sanders <sanders@bsdi.com>
  20.  
  21. Here is some log file summerizing scripts for Plexus log files (it should
  22. be easy to modify this for other formats).  I will be including them in
  23. the next release.
  24.  
  25. I have two scripts, usage.byhost and usage.byurl which generates output
  26. like the following.  They read in the previous results and then merge the
  27. current log info.  There is also a script that runs them and then empties
  28. and restarts the log file.
  29.  
  30. >>>>>> usage.host
  31.    694 137.39.95.2            (this is my host)
  32.    434 xxx.xxx.xxx.xx
  33.    ...
  34.  
  35. >>>>>> usage.url
  36.   1621 /
  37.   1366 /demo/icons.html
  38.   1337 /decode_walk
  39.   ...
  40.  
  41. Note that this usage.byurl "folds" some directories into a single line.
  42. You can add folding at any time and the summary will reflect the change,
  43. however you cannot unfold once you have folded.  It's pretty easy to figure
  44. out how to add or remove items from the list (it's the first function in
  45. the script.
  46.  
  47. #! /bin/sh
  48. # This is a shell archive.  Remove anything before this line, then unpack
  49. # it by saving it into a file and typing "sh file".  To overwrite existing
  50. # files, type "sh file -c".  You can also feed this as standard input via
  51. # unshar, or by typing "sh <file", e.g..  If this archive is complete, you
  52. # will see the following message at the end:
  53. #        "End of shell archive."
  54. # Contents:  summary usage.byhost usage.byurl
  55. # Wrapped by sanders@austin.BSDI.COM on Fri Jun 18 17:24:28 1993
  56. PATH=/bin:/usr/bin:/usr/ucb ; export PATH
  57. if test -f 'summary' -a "${1}" != "-c" ; then 
  58.   echo shar: Will not clobber existing file \"'summary'\"
  59. else
  60. echo shar: Extracting \"'summary'\" \(413 characters\)
  61. sed "s/^X//" >'summary' <<'END_OF_FILE'
  62. X#!/bin/sh
  63. X
  64. X#
  65. X# summerize host usage
  66. X#
  67. Xbin/usage.byhost
  68. X
  69. X#
  70. X# summerize the URL usage and empty the log.
  71. X#
  72. Xbin/usage.byurl
  73. X
  74. X#
  75. X# append the log to log.summary
  76. X#
  77. Xecho ------- SUMMARY ------- >> log.summary
  78. Xcat log >> log.summary
  79. X
  80. X#
  81. X# restart the log file
  82. X#
  83. Xrm -f log; touch log; .s chown sanders.www log
  84. Xpid=`ps auxww | perl -ne '/^www.*plexus/ && do { ($a,$b) = split(" ",$_); print $b; exit; }'`
  85. X.s kill -USR1 $pid
  86. END_OF_FILE
  87. if test 413 -ne `wc -c <'summary'`; then
  88.     echo shar: \"'summary'\" unpacked with wrong size!
  89. fi
  90. chmod +x 'summary'
  91. # end of 'summary'
  92. fi
  93. if test -f 'usage.byhost' -a "${1}" != "-c" ; then 
  94.   echo shar: Will not clobber existing file \"'usage.byhost'\"
  95. else
  96. echo shar: Extracting \"'usage.byhost'\" \(657 characters\)
  97. sed "s/^X//" >'usage.byhost' <<'END_OF_FILE'
  98. X#!/usr/bin/perl
  99. X#
  100. X# usage.byhost
  101. X#
  102. X$log = $ARGV[0] || "/usr/local/www/log";
  103. X$sum = "usage.host";
  104. Xif ( -f $sum ) {
  105. X    rename ($sum, "$sum-") || die "rename $sum $sum-: $!";
  106. X}
  107. Xif ( -f "$sum-" ) {
  108. X    open(SUM, "< $sum-") || die "$sum-: $!";
  109. X    while(<SUM>) {
  110. X        ($a, $b) = split(" ", $_, 2);
  111. X        $count{$b} += $a;
  112. X    }
  113. X    close(SUM);
  114. X}
  115. Xopen(SUM, "> /tmp/$sum") || die "$sum: $!";
  116. X
  117. Xopen(LOG, $log) || die "$log: $!";
  118. Xwhile(<LOG>) {
  119. X    next if /^-/;
  120. X    chop;
  121. X    s/ .*//;
  122. X    $count{$_}++;
  123. X}
  124. Xclose(LOG);
  125. X
  126. Xforeach $i (keys(%count)) {
  127. X    printf(SUM "%6d %s\n", $count{$i}, $i);
  128. X}
  129. Xclose(SUM);
  130. Xsystem("sort -rn /tmp/$sum > $sum ; rm -f /tmp/$sum");
  131. END_OF_FILE
  132. if test 657 -ne `wc -c <'usage.byhost'`; then
  133.     echo shar: \"'usage.byhost'\" unpacked with wrong size!
  134. fi
  135. chmod +x 'usage.byhost'
  136. # end of 'usage.byhost'
  137. fi
  138. if test -f 'usage.byurl' -a "${1}" != "-c" ; then 
  139.   echo shar: Will not clobber existing file \"'usage.byurl'\"
  140. else
  141. echo shar: Extracting \"'usage.byurl'\" \(1104 characters\)
  142. sed "s/^X//" >'usage.byurl' <<'END_OF_FILE'
  143. X#!/usr/bin/perl
  144. X#
  145. X# usage.byurl
  146. X#
  147. Xsub junk {
  148. X    $_[0] =~ s,^(/decode_walk)[/\?].*,\1, && return 1;
  149. X    $_[0] =~ s,^(/bookmark)[/\?].*,\1, && return 1;
  150. X    $_[0] =~ s,^(/finger)[/\?].*,\1, && return 1;
  151. X    $_[0] =~ s,^(/date)[/\?].*,\1, && return 1;
  152. X    $_[0] =~ s,^(/calendar)[/\?].*,\1, && return 1;
  153. X    $_[0] =~ s,^(/bsdi-man)[/\?].*,\1, && return 1;
  154. X    $_[0] =~ s,^(/faces)[/\?].*,\1, && return 1;
  155. X    0;
  156. X}
  157. X$log = $ARGV[0] || "/usr/local/www/log";
  158. X$sum = "usage.url";
  159. Xif ( -f $sum ) {
  160. X    rename ($sum, "$sum-") || die "rename $sum $sum-: $!";
  161. X}
  162. Xif ( -f "$sum-" ) {
  163. X    open(SUM, "< $sum-") || die "$sum-: $!";
  164. X    while(<SUM>) {
  165. X    ($a, $b) = split(" ", $_, 2);
  166. X    &junk($b);
  167. X    $count{$b} += $a;
  168. X    }
  169. X    close(SUM);
  170. X}
  171. Xopen(SUM, "> /tmp/$sum") || die "$sum: $!";
  172. X
  173. Xopen(LOG, $log) || die "$log: $!";
  174. Xwhile(<LOG>) {
  175. X    next if /^-/ || /^137.39.95.2 / || /^127.0.0.1 /;
  176. X    next unless ($b) = m/GET ([^ \t\r\n]*)/;
  177. X    &junk($b);
  178. X    $count{$b}++;
  179. X}
  180. Xclose(LOG);
  181. X
  182. Xforeach $i (keys(%count)) {
  183. X    printf(SUM "%6d %s\n", $count{$i}, $i);
  184. X}
  185. Xclose(SUM);
  186. Xsystem("sort -rn /tmp/$sum > $sum ; rm -f /tmp/$sum");
  187. END_OF_FILE
  188. if test 1104 -ne `wc -c <'usage.byurl'`; then
  189.     echo shar: \"'usage.byurl'\" unpacked with wrong size!
  190. fi
  191. chmod +x 'usage.byurl'
  192. # end of 'usage.byurl'
  193. fi
  194. echo shar: End of shell archive.
  195. exit 0